activity_main:
全以LinearLayou進行排版
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="產品:"
            android:textSize="24sp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edtPrice"
            android:inputType="number"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="價格:"
            android:textSize="24sp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edtPrice"
            android:inputType="number"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="數量:"
            android:textSize="24sp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edtAmount"
            android:inputType="number"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="編號:"
            android:textSize="24sp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edtId"
            android:inputType="number"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnAdd"
            android:text = "新增"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnUpdate"
            android:text = "修改"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnDel"
            android:text = "刪除"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnQuery"
            android:text = "查詢"/>
    </LinearLayout>
</LinearLayout>
DBHelper:
public class DBHelper extends SQLiteOpenHelper {
    private final static String DATABASE_NAME = "store.db";
    private final static int VERSION = 1;
    public DBHelper(Context context){
        super(context,DATABASE_NAME,null,VERSION);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        //第一次執行時,會建立資料表
        String sql = "create  table  product(_id integer primary key autoincrement,name varchar(30),price int,amount int) ";
        db.execSQL(sql);   //執行語法
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "drop table product";  //刪除資料表
        db.execSQL(sql);
    }
}
MainActivity:
public class MainActivity extends AppCompatActivity {
    private DBHelper dbHelper = null;
    private EditText edtProduct,edtPrice,edtAmount,edtId;
    private Button btnAdd,btnUpdate,btnDel,btnQuery,btnMySQL;
    private TextView sqlData;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new DBHelper(this);
        findViews();
    }
    private void findViews(){
        edtProduct = findViewById(R.id.edtProduct);
        edtPrice = findViewById(R.id.edtPrice);
        edtAmount = findViewById(R.id.edtAmount);
        edtId = findViewById(R.id.edtId);
        btnAdd = findViewById(R.id.btnAdd);
        btnUpdate = findViewById(R.id.btnUpdate);
        btnDel = findViewById(R.id.btnDel);
        btnQuery = findViewById(R.id.btnQuery);
        sqlData = findViewById(R.id.sqlData);
        btnAdd.setOnClickListener(addData);
        btnDel.setOnClickListener(delData);
        btnUpdate.setOnClickListener(updateData);
        btnQuery.setOnClickListener(v->{
            Cursor cursor = getAllData();
            StringBuffer sb = new StringBuffer("結果:\n");
            while(cursor.moveToNext()){
                int id = cursor.getInt(0);
                String name = cursor.getString(1);
                int price = cursor.getInt(2);
                int amount = cursor.getInt(3);
                sb.append(id).append("-");
                sb.append(name).append("-");
                sb.append(price).append("-");
                sb.append(amount).append("\n");
            }
            sqlData.setText(sb.toString());
        });
    }
    private View.OnClickListener delData = v -> {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        String id = edtId.getText().toString();
        db.delete("product","_id="+id,null);
        clearEditText();
    };
    private View.OnClickListener updateData = v -> {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name",edtProduct.getText().toString());
        values.put("price",Integer.parseInt(edtPrice.getText().toString()));
        values.put("amount",Integer.parseInt(edtAmount.getText().toString()));
        String id = edtId.getText().toString();
        db.update("product",values,"_id="+id,null);
        clearEditText();
    };
    private View.OnClickListener addData = v -> {
        //寫入資料到SQLite Database
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name",edtProduct.getText().toString());
        values.put("price",Integer.parseInt(edtPrice.getText().toString()));
        values.put("amount",Integer.parseInt(edtAmount.getText().toString()));
        //新增
        db.insert("product",null,values);
        clearEditText();
    };
    //查詢資料
    private Cursor getAllData(){
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        //String[] columns = {"_id","name","price","amount"};
        //SQLite專用
        //Cursor cursor = db.query("product",columns,null,null,null,null,null);
        String sql = "select _id,name,price,amount  from product";
        Cursor cursor = db.rawQuery(sql,null);
        return cursor;
    }
    private void clearEditText(){
        edtProduct.setText("");
        edtPrice.setText("");
        edtAmount.setText("");
        edtId.setText("");
    }
    protected  void onDestroy(){
        super.onDestroy();
        dbHelper.close();
    }
}
謝謝大家願意花時間閱讀,小弟弟我在此鞠躬![]()